package LinkedList;

public class p206反转链表 {
    /**
     * Definition for singly-linked list.
     * public class ListNode {
     *     int val;
     *     ListNode next;
     *     ListNode() {}
     *     ListNode(int val) { this.val = val; }
     *     ListNode(int val, ListNode next) { this.val = val; this.next = next; }
     * }
     */
    class Solution {
        public ListNode reverseList(ListNode head) {
            if(head == null || head.next == null){
                return head;
            }
            ListNode pre = null;
            ListNode cur = head;
            ListNode temp;

            while(cur.next != null){
                temp = cur;
                cur = cur.next;
                temp.next = pre;
                pre = temp;
            }
            cur.next = pre;
            return cur;
        }
    }
}
